package com.xxxx.server.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xxxx.server.mapper.JoblevelMapper;
import com.xxxx.server.pojo.Joblevel;
import com.xxxx.server.pojo.RespBean;
import com.xxxx.server.service.IJoblevelService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author zhoubin
 * @since 2020-08-17
 */
@Service
public class JoblevelServiceImpl extends ServiceImpl<JoblevelMapper, Joblevel> implements IJoblevelService {

    @Autowired
    private JoblevelMapper joblevelMapper;

    /**
     * 查询所有的职称
     * @return
     */
    @Override
    public List<Joblevel> getAllJoblevel() {
       return joblevelMapper.getAllJoblevel();
    }

    /**
     * 添加职称
     * @param joblevel
     * @return
     */
    @Override
    public RespBean addJoblevel(Joblevel joblevel) {

        joblevel.setCreateDate(LocalDateTime.now());
        joblevel.setEnabled(true);

        if (null!=joblevelMapper.queryJobLevelByName(joblevel.getName())){
            return RespBean.error("职称已存在,请重新输入");
        }
        if (joblevel.getName()==null){
            return RespBean.error("职称名称不能为空");
        }
        if (joblevelMapper.addJoblevel(joblevel)){
            return RespBean.success("添加职称成功");
        }
        return RespBean.error("添加职称失败");
    }

    /**
     * 更新职称
     * @param joblevel
     * @return
     */
    @Override
    public RespBean updateJoblevel(Joblevel joblevel) {

        if (null!=joblevelMapper.queryJobLevelByName(joblevel.getName())){
            return RespBean.error("职称已存在,请重新输入");
        }
        if (null==joblevel.getName()||joblevel.getName()==""){
            return RespBean.error("职称名称不能为空");
        }

        if (joblevelMapper.updateJoblevel(joblevel)){
            return RespBean.success("更新职称成功");
        }
        return RespBean.error("更新职称失败");
    }

    @Override
    public RespBean deleteJoblevel(Integer id) {
        if (joblevelMapper.deleteJoblevel(id)){
            return RespBean.success("删除职称成功");
        }
        return RespBean.error("删除职称失败，请重试");
    }
}
